--- a/include/compiler.h
+++ b/include/compiler.h
@@ -66,6 +66,11 @@ typedef uint8_t __u8;
 typedef uint16_t __u16;
 typedef uint32_t __u32;
 typedef unsigned int uint;
+typedef uint64_t __u64;
+#ifndef linux
+typedef int __kernel_daddr_t;
+typedef unsigned int __kernel_ino_t;
+#endif
 
 #define uswap_16(x) \
 	((((x) & 0xff00) >> 8) | \
--- a/include/linux/posix_types.h
+++ b/include/linux/posix_types.h
@@ -43,6 +43,8 @@ typedef void (*__kernel_sighandler_t)(in
 /* Type of a SYSV IPC key.  */
 typedef int __kernel_key_t;
 
+#ifdef linux
 #include <asm/posix_types.h>
+#endif
 
 #endif /* _LINUX_POSIX_TYPES_H */
--- a/include/linux/types.h
+++ b/include/linux/types.h
@@ -2,7 +2,6 @@
 #define _LINUX_TYPES_H
 
 #include <linux/posix_types.h>
-#include <asm/types.h>
 #include <stdbool.h>
 
 #ifndef __KERNEL_STRICT_NAMES
